import {reqGoodsDetail,reqUpdateNum} from '../../../api/index'
Page({
  /**
   * 页面的初始数据
   */
  data: {
    goodsId:0, //商品Id
    goodsDetail:{}, //商品详情
    showDialog:false, //是否显示弹窗
    isAddCart:ture, //是否添加购物车
    blessing:'', //祝福语 
    count:1, //商品数量
  },
  onLoad(options) {
    this.setData({
      goodsId:options.goodsId
    })
    this.getGoosdDetail()
  },
  // 封装方法发送获取商品详情的请求
  async getGoosdDetail(){
    try {
      const res = await reqGoodsDetail(this.data.goodsId)
      this.setData({
        goodsDetail:res.data
      })
    } catch (error) {
      console.log(error)
      wx.showToast({
        title: '获取详情失败',
      })
    }
  },
  // 点击加入购物车
  addCard(){
    // 判断是否登录
    if(!wx.getStorageSync('token')){ //没有登录
      wx.navigateTo({
        url: '/pages/login/login',//跳转到登录页面
      })
    }
    this.showDialogAndAddCart()//显示弹窗
  },
  //点击遮罩层
  // 1. 创建一个半透明的遮罩,建立一个新的层级,将弹出的内容和原页面进行分离。
// 2. 通过点击遮罩层关闭弹出层,实现弹出层的关闭交互。
// 3. 使下层页面内容变暗,突出弹出内容的重要性。
  onClose(){
    this.setData({ //
      showDialog:false //隐藏弹窗
    })
  },
  //封装方法完成显示对话框和添加购物车
  showDialogAndAddCart(showDialog,isAddCart){
    this.setData({
      showDialog,
      isAddCart
    })
  },
//弹窗点击确定的回调
 confirm(){
if(this.data.isAddCart){ //如果是添加购物车
  this.getAddCart() //添加购物车
 }else{ //如果是立即购买
  if(this.data.blessing.trim()){ //如果祝福语不为空
  // 跳转至订单详情需要传递祝福语以及商品ID
  wx.navigateTo({ //跳转到订单详情页面
      url:'/pages/order/detail/detail?goodsId=${this.data.goodsId}&blessing=${this.data.blessing}',
    })
    // 关闭弹窗 祝福语内容以及数量的清空
    this.setData({
      showDialog:false,
      blessing:'',
      count:1
    })
  }else{ //如果祝福语为空
    wx.showToast({
      title: '祝福语必须填写',
      icon:'error'
    })   
  }
 }
 },
 // 更改数量
 changeNum(e){
  this.setData({
    count:e.detail * 1 //这个count数据就是变化的量
  })
},
// 定义用于添加购物车的请求函数
async getAddCart(){
  let {goodsId,count,blessing} = this.data
  try {
    const res = await reqUpdateNum(goodsId,count,blessing)
    // 请求成功 关闭弹窗 祝福语内容及数量清空
    if(res.code===200){
      this.setData({
        showDialog:false,
        blessing:'',
        count:1
      })
    }
  } catch (error) {
    console.log(error)
    wx.showToast({
      title: '添加失败',
    })
  }
},
// 定义函数 
handle(){

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})